package com.hliu.shiro.dao;

import com.hliu.core.dao.IBaseHibernateDao;
import com.hliu.shiro.model.User;

/**
 * author: 6
 * date: 13-4-18
 */
public interface IUserDao extends IBaseHibernateDao<User, Long> {
	/**
	 * 通过用户名和密码验证获得用户数量,用于shiro认证
	 *
	 * @param username
	 * @param password
	 * @return
	 */
	public Long getPrincipalAndCredentials(String username, String password);

	/**
	 * 通过用户名查找这个用户的所有角色和权限,用于shiro授权
	 *
	 * @param username
	 * @return
	 */
	public User getUserAllRolsAndPermission(String username);

	/**
	 * 通常用户名查找用户数量
	 *
	 * @param username
	 * @return
	 */
	public Long getUserCountByUserName(String username);

	/**
	 *通过用户名查找用户，用于获取简单用户信息的登录认证
	 * @param username
	 * @return
	 */
	public User getUserByUserName(String username);
}
